home *** CD-ROM | disk | FTP | other *** search
/ Sky at Night 2007 June / SAN CD 6-2007 CD-ROM 25.iso / pc / Software / AstroGrav_Win / Java / jre1.6.0 / lib / rt.jar / java / net / Inet6AddressImpl.class (.txt) < prev    next >
Encoding:
Java Class File  |  2006-11-29  |  1.7 KB  |  75 lines

  1. package java.net;
  2.  
  3. import java.io.IOException;
  4. import java.util.Enumeration;
  5.  
  6. class Inet6AddressImpl implements InetAddressImpl {
  7.    private InetAddress anyLocalAddress;
  8.    private InetAddress loopbackAddress;
  9.  
  10.    public native String getLocalHostName() throws UnknownHostException;
  11.  
  12.    public native InetAddress[] lookupAllHostAddr(String var1) throws UnknownHostException;
  13.  
  14.    public native String getHostByAddr(byte[] var1) throws UnknownHostException;
  15.  
  16.    private native boolean isReachable0(byte[] var1, int var2, int var3, byte[] var4, int var5, int var6) throws IOException;
  17.  
  18.    public boolean isReachable(InetAddress var1, int var2, NetworkInterface var3, int var4) throws IOException {
  19.       byte[] var5 = null;
  20.       int var6 = -1;
  21.       int var7 = -1;
  22.       if (var3 != null) {
  23.          Enumeration var8 = var3.getInetAddresses();
  24.          Object var9 = null;
  25.  
  26.          while(var8.hasMoreElements()) {
  27.             InetAddress var10 = (InetAddress)var8.nextElement();
  28.             if (var10.getClass().isInstance(var1)) {
  29.                var5 = var10.getAddress();
  30.                if (var10 instanceof Inet6Address) {
  31.                   var7 = ((Inet6Address)var10).getScopeId();
  32.                }
  33.                break;
  34.             }
  35.          }
  36.  
  37.          if (var5 == null) {
  38.             return false;
  39.          }
  40.       }
  41.  
  42.       if (var1 instanceof Inet6Address) {
  43.          var6 = ((Inet6Address)var1).getScopeId();
  44.       }
  45.  
  46.       return this.isReachable0(var1.getAddress(), var6, var2, var5, var4, var7);
  47.    }
  48.  
  49.    public synchronized InetAddress anyLocalAddress() {
  50.       if (this.anyLocalAddress == null) {
  51.          if (InetAddress.preferIPv6Address) {
  52.             this.anyLocalAddress = new Inet6Address();
  53.             this.anyLocalAddress.hostName = "::";
  54.          } else {
  55.             this.anyLocalAddress = (new Inet4AddressImpl()).anyLocalAddress();
  56.          }
  57.       }
  58.  
  59.       return this.anyLocalAddress;
  60.    }
  61.  
  62.    public synchronized InetAddress loopbackAddress() {
  63.       if (this.loopbackAddress == null) {
  64.          if (InetAddress.preferIPv6Address) {
  65.             byte[] var1 = new byte[]{0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1};
  66.             this.loopbackAddress = new Inet6Address("localhost", var1);
  67.          } else {
  68.             this.loopbackAddress = (new Inet4AddressImpl()).loopbackAddress();
  69.          }
  70.       }
  71.  
  72.       return this.loopbackAddress;
  73.    }
  74. }
  75.